package com.gt.quality.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gt.quality.base.pojo.CommonTableInfo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;

/**
 * 字典数据表(SysDictData)表实体类
 *
 * @author makejava
 * @since 2026-12-26 11:20:03
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(title = "SysDictData", description = "EasyCode")
@TableName(value = "sys_dict_data", autoResultMap = true)
public class SysDictData extends CommonTableInfo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;


    /**
     * Description:  字典编码
     */
    @TableId(value = "dict_code", type = IdType.ASSIGN_ID)
    @Schema(title = "dict_code", description = "字典编码")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long dictCode;


    /**
     * Description:  字典排序
     */
    @TableField(value = "dict_sort")
    @Schema(title = "dict_sort", description = "字典排序")
    private Integer dictSort;


    /**
     * Description:  字典标签
     */
    @TableField(value = "dict_label")
    @Schema(title = "dict_label", description = "字典标签")
    private String dictLabel;


    /**
     * Description:  字典键值
     */
    @TableField(value = "dict_value")
    @Schema(title = "dict_value", description = "字典键值")
    private String dictValue;


    /**
     * Description:  字典类型
     */
    @TableField(value = "dict_type")
    @Schema(title = "dict_type", description = "字典类型")
    private String dictType;


    /**
     * Description:  样式属性（其他样式扩展）
     */
    @TableField(value = "css_class")
    @Schema(title = "css_class", description = "样式属性（其他样式扩展）")
    private String cssClass;


    /**
     * Description:  表格回显样式
     */
    @TableField(value = "list_class")
    @Schema(title = "list_class", description = "表格回显样式")
    private String listClass;


    /**
     * Description:  是否默认（Y是 N否）
     */
    @TableField(value = "is_default")
    @Schema(title = "is_default", description = "是否默认（Y是 N否）")
    private String isDefault;


    /**
     * Description:  备注
     */
    @TableField(value = "remark")
    @Schema(title = "remark", description = "备注")
    private String remark;


}


